home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / ms_dos / grass / src / grass.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-08  |  3.9 KB  |  156 lines

  1.  
  2. #include <stdio.h>
  3. #include <sub.h>
  4.  
  5. /*    変数表
  6.  
  7.     i,f,j,o    処理汎用
  8.     c    getch 用
  9.     en    エンディング判定用
  10.     turn    ターン
  11.     acom    1になった時に、ターンを処理する(ループ用)
  12.     gold    お金
  13.  
  14.     th[]    砦の陥落フラグ
  15.     ht[]    砦の発見フラグ
  16.     tx[]    砦の座標
  17.     ty[]      〃
  18.  
  19.     bx[]    宝の座標
  20.     by[]      〃
  21.  
  22.     k[]    部隊の、雇った傭兵の種類のコード(コードからデータを出す)
  23.     x[]    部隊の現在座標
  24.     y[]      〃
  25.     mx[]    部隊の目的地の座標
  26.     my[]      〃
  27.     hp[]    部隊のHP(生命力)
  28.  
  29.     ko[]    傭兵の値段(coという噂もある)
  30.     s[]    傭兵の移動速度
  31.     be[]    傭兵の信じられる度合い(%)
  32.     dhp[]    傭兵の最初のHP
  33.     *nn[]    傭兵の名前
  34.  
  35. */
  36.  
  37.  
  38. int    my_turn(void);
  39. int    com_turn(void);
  40.  
  41. int    i,f,j,o,en;
  42. int    turn=1;
  43. int    gold=200;
  44. int    acom;
  45. char    c;
  46.  
  47. int    k[100],tx[5],ty[5],bx[30],by[30],x[100],y[100],hp[100];
  48. int    mx[100],my[100],th[5],ht[5];
  49.  
  50. int    ko[]={    5,10,20,50,100,80,300,1000,30,50,
  51.         100,200,700,300,1000,300,300,10,100,120    };    /* 値段 */
  52.  
  53. int    be[]={    10,20,10,10,20,10,100,60,0,60,
  54.         90,40,90,90,100,55,60,60,85,75    };        /* 信用度 */
  55.  
  56. int    s[]={    3,7,8,9,12,10,6,30,5,10,
  57.         5,8,12,7,8,8,6,3,5,7,
  58.         0,0,0,0,0            };        /* 速度 */
  59.  
  60. int    dhp[]={    3,6,9,15,24,21,30,45,6,6,
  61.         9,9,27,24,45,27,30,3,24,15,
  62.         50,50,40,40,40        };        /* HP */
  63.  
  64. char    *nn[]={    "ゴブリン",
  65.         "オーク",
  66.         "オーガー",
  67.         "トロール",
  68.         "ジャイアント",
  69.         "ミノタウロス",
  70.         "サラマンダー",
  71.         "ドラゴン",
  72.         "蛮族の騎士",
  73.         "騎士",
  74.  
  75.         "魔法使い",
  76.         "盗賊",
  77.         "聖騎士",
  78.         "傭兵",
  79.         "勇者",
  80.         "美人女戦士",
  81.         "ブス女戦士",
  82.         "従者",
  83.         "ドワーフ戦士",
  84.         "精霊使い",
  85.  
  86.         "ネイヴ",
  87.         "アウチストマック",
  88.         "リュート",
  89.         "フェネス",
  90.         "トゥースエイク"    };
  91.  
  92.  
  93. int main(int argc,char *argv[])
  94. {
  95.  
  96.     printf("\n");
  97.     printf(" “激闘草原”ファンタジー・シミュレーションゲーム");
  98.     printf(" V1.6\n   (c) Gomi Hisashi  1992/10/21\n\n\n");
  99.  
  100.     if( argc == 2 )
  101.         {
  102.         printf(                                   " このゲームは、ある森の王国の、国境に近いある城の物語です。城主であるあなたは、この近くに砦を構えて待ち望んでいる「ファブル軍団」を全滅させなくてはなりません。お金を出して傭兵を雇い、色々な方面へ派遣し、宝をみつけたり、時には敵の兵を倒さ せて、最後に5つある砦の城主を全員倒せばクリアです。\n");
  103.         printf(" では、普通に実行してください。\n");
  104.         return(0);
  105.         }
  106.  
  107.     if( argc == 3 )
  108.         {
  109.         printf("\tファブル軍団のメンバー\n\n\t\t野蛮な魔戦士「アウチストマック」\n\t\t狂気の神官・「ネイヴ」\n\t\t悪のドルイド「リュート」\n\t\t極悪盗賊・・「トゥースエイク」\n\n");
  110.         printf(" 彼らはこの森に砦を構えて住んでいる!!\n");
  111.         return(0);
  112.         }
  113.  
  114.     if( argc == 4 )
  115.         {
  116.         printf("\tゲームのコツ\n\n");
  117.         printf(                                   " まず、ある程度信頼出来て、しかも安い従者を雇いましょう。そうして、城の周りに 送って、敵の金倉や金品を見つけるのです。そうしてある程度の資金がたまったら、今 度は騎士です。彼らもある程度信頼できて、しかも従者より速く動けます。今まで、従 者が行けなかった所まで、行くことが出来ます。\n");
  118.         printf(                                   " 資金がたまったら、今度は安くて体力のあるモンスターをたくさん雇い、いろんな方 面に送ります。そして、敵の砦を発見するのです。見つかったら、今度はとにかく強い モンスターを送り、その砦を落とします。これを繰り返して、全ての砦を落とせば勝ち です。\n");
  119.     printf(" では、何もコマンドラインに書かないで実行してください。\n");
  120.         return(0);
  121.         }
  122.  
  123.  
  124.     randomize();
  125.  
  126.     for( i=0 ; i<30 ; i++ )
  127.         {
  128.         bx[i] = random(200);
  129.         by[i] = random(200);
  130.         }
  131.  
  132.     for( i=0 ; i<5 ; i++ )
  133.         {
  134.         tx[i] = random(200);
  135.         ty[i] = random(150)+50;
  136.         th[i] = 0;
  137.         ht[i] = 0;
  138.         }
  139.  
  140.     for( i=0 ; i<100 ; i++ )
  141.         k[i] = -1;
  142.  
  143.  
  144.     while( my_turn()==0 && ( en=com_turn() )==0 );
  145.  
  146.     if( en == 2 )
  147.         {
  148.         printf(                                   " ついにあなたは五人の住む「ファブル軍団」の砦を落としました。これで、この森に も平和が訪れることでしょう。おめでとうございます。そして、このゲームに付き合っ てくださって、本当にありがとうございました。\n");
  149.         printf(                                   " ファブル軍団は不滅です!\n");
  150.         getch();
  151.         printf("\t\t---<< The End... >>---\n");
  152.         getch();
  153.         }
  154.  
  155. }
  156.